package com.hy;

/**
 * Created With IntelliJ IDEA.
 * Descriptions:判断子序列
 *
 * 给定字符串 s 和 t ，判断 s 是否为 t 的子序列。
 * 字符串的一个子序列是原始字符串删除一些（也可以不删除）字符而不改变剩余字符相对位置形成的新字符串。（例如，"ace"是"abcde"的一个子序列，而"aec"不是）。
 *
 * User:Mr.Du
 * Date:2024/8/17
 * Time:15:56
 */
public class IsSubsequence {
    public boolean isSubsequence1(String s, String t) {
        if(s.length() > t.length()) return false;
        if(s.length() == 0) return true;
        int l = 0, r = t.length();
        int i = 0;
        while(l < r){
            if(s.charAt(i) == t.charAt(l++)) i++;
            if(i == s.length()) return true;
        }
        return false;
    }

    public boolean isSubsequence(String s, String t) {
        if(s.length() > t.length()) return false;
        if(s.length() == 0) return true;
        int i = 0;
        for(char c : t.toCharArray()){
            if(c == s.charAt(i) && ++i == s.length()) return true;
        }
        return false;
    }
}
